package org.apache.hadoop.hive.kafka.camus; import org.apache.hadoop.mapred.JobConf; import org.apache.hadoop.mapreduce.JobContext; import java.util.Map.Entry; import java.util.Properties; public class MessageDecoderFactory { public static MessageDecoder<?,?> createMessageDecoder(JobConf conf, String topicName){ MessageDecoder<?,?> decoder; try { decoder = (MessageDecoder<?,?>) KafkaAvroMessageDecoder.class.newInstance(); Properties props = new Properties(); for (Entry<String, String> entry : conf){ props.put(entry.getKey(), entry.getValue()); } decoder.init(props, topicName); return decoder; } catch (Exception e) { throw new MessageDecoderException(e); } } }